<?php
//==============================================
// PageFT 英文函数库 Beta
//
// 代码所有       PHPText.Net
// 代码作者       黄创钦,tine2cx@163.com
// 联系方式       QQ 233944397
// 本代码开源使用，可以随意修改传播，但请保留本版权
// 声明,谢谢合作！
//==============================================

//分页函数
function PageFT($DataMax, $Cols=10, $Rows=20, $Chinese=0, $ButtonArr=array("S","P","N","E"), $RowText=array("","")){
	
	//获取总页数
	$Row = ceil($DataMax/$Rows);
	
	//设置中文数字
	$CHS = array("零","一","二","三","四","五","六","七","八","九");
	$CHT = array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");
	
	if($Row>1){
		//总数
		$PageFT = "<span class='PageFT_DM'>&nbsp;".$RowText[0].$DataMax."&nbsp;</span>";
		
		//地址参数处理
		if(!empty($_SERVER["QUERY_STRING"])){
			//获取地址参数
			$LinkStr = $_SERVER["QUERY_STRING"];
			
			//删除原有参数
			$LinkStr = preg_replace("/\?PageFT_SN=.*&?/i","",$LinkStr);
			$LinkStr = preg_replace("/&PageFT_SN=.*&?/i","",$LinkStr);
			
			//重设参数
			$LinkStr = $LinkStr."&PageFT_SN=";
		}else{
			$LinkStr = "PageFT_SN=";
		}
		
		//获取当前页
		$NowPage = (int)$_GET["PageFT_SN"];
		if(empty($NowPage)){ $NowPage = 1; }
		
		//计算前三页
		$PageMin = $NowPage-$Cols;
		if($PageMin < 1){
			$PageMin = 1;
		}
		
		//计算后三页
		$PageMax = $NowPage+$Cols;
		if($PageMax > $Row){
			$PageMax = $Row;
		}
		
		//如果不是第一页则显示上一页
		if($NowPage!=1){
			$PageFT .= "<span class='PageFT_OFF'><a href='?".$LinkStr."1'>".$ButtonArr[0]."</a></span>";
			$PageFT .= "<span class='PageFT_OFF'><a href='?".$LinkStr.($NowPage-1)."'>".$ButtonArr[1]."</a></span>";
		}
		
		//页数
		for($i = $PageMin;$i <= $PageMax;$i++){
			$si=$i;
			if(strtoupper($Chinese)=="CHS"){
				$si="";
				$i=(string)$i;
				for($j=0;$j<strlen($i);$j++){
					$si.=$CHS[$i[$j]];
				}
			}
			if(strtoupper($Chinese)=="CHT"){
				$si="";
				$i=(string)$i;
				for($j=0;$j<strlen($i);$j++){
					$si.=$CHT[$i[$j]];
				}
			}
			$i=(int)$i;
			if($i == $NowPage){
				$PageFT .= "<span class='PageFT_ON'>".$si."</span>";
			}else{
				$PageFT .= "<span class='PageFT_OFF'><a href='?".$LinkStr.$i."'>".$si."</a></span>";
			}
		}
		
		//如果不是最后一页则显示下一页
		if($NowPage!=$Row){
			$PageFT .= "<span class='PageFT_OFF'><a href='?".$LinkStr.($NowPage+1)."'>".$ButtonArr[2]."</a></span>";
			//末页
			$PageFT .= "<span class='PageFT_OFF'><a href='?".$LinkStr.$Row."'>".$ButtonArr[3]."</a></span>";
		}
		
		$PageFT .= "<span class='PageFT_NR'>&nbsp;".$NowPage."/".$Row.$RowText[1]."&nbsp;</span>";
	}
	
	return $PageFT;
}
?>